// pages/virtual/virtual.js
Page({

  /**
   * 页面的初始数据
   */
  data: {

  },

  getUserProfile() {
    wx.getUserProfile({
      desc: "我要拿你的信息", 
      complete(res){
        console.log(res)
        wx.showModal({
          title: '你的昵称',
          content: res.userInfo.nickName
        })
      } 
    })
  },

  async testGetPhoneNumber(res) {
    console.log(res.detail)
    try {
     const phone = await this.encryptPhone(res)
      wx.showModal({
        title: '你的电话号码',
        content: phone
      }) 
    } catch(e) {
      wx.showModal({
        title: '获取电话失败',
        content: JSON.stringify(e)
      })
    }
    
  },


  encryptPhone(e) {
    return new Promise((rs, rj) => {
      wx.login({
        success(res) {
          console.log(res)
          wx.request({
            url: 'https://stream.weixin.qq.com/weapp_dev/Login',
            data: {
              code: res.code,
              appid: "wx3eb9cfc5787d5458"
            },
            success(res) {
              console.log(res)
              wx.request({
                url: 'https://stream.weixin.qq.com/weapp_dev/Decrypt',
                method: "POST",
                data: JSON.stringify({
                  sessionKey: res.data.session_key,
                  encryptData: e.detail.encryptedData,
                  iv: e.detail.iv
                }),
                success(res) {
                  console.log("后台解密结果", res)
                  rs(res.data.plainText.purePhoneNumber)
                },
                fail(e) {
                  console.error("Decrypt fail")
                  rj(e)
                }
              })
            },
            fail(e) {
              console.log("Login fail")
              rj(e)
            }
          })
        },
        fail(e) {
          console.error("login fail")
          rj(e)
        }
      })
    })
    
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})